package com.qqtech.qquan.sys.dao;

import java.util.List;

import com.qqtech.core.frame.dao.BaseDao;
import com.qqtech.qquan.sys.model.SysMenu;
import com.qqtech.qquan.sys.model.SysMenuQuery;
import com.qqtech.qquan.sys.model.SysMenuVo;

public interface SysMenuDao extends BaseDao<SysMenu> {
	/**
	 * 根据menuId获取菜单对象
	 * @param menuId
	 * @return
	 */
	public SysMenuVo getByMenuId(java.lang.String menuId) ;
	
	/**
	 * 根据父级菜单ID获取子菜单列表，parentId为空时，获取所以根目录列表
	 * @param sysMenu
	 * @return
	 */
	public List<SysMenuVo> queryListByParentId(SysMenuQuery sysMenu) ;
	
	/**
	 * 取最大的排序
	 * @return
	 */
	public Integer getMaxOrderIdx();
	
	/**
	 * 根据角色权限查询父级菜单
	 * @param sysMenuDomain
	 * @return
	 */
	public List<SysMenuVo> topMenuForRole(SysMenuQuery sysMenuQuery);
	
	/**
	 * 根据角色权限查询子级菜单
	 * @param sysMenuDomain
	 * @return
	 */
	public List<SysMenuVo> menuForRole(SysMenuQuery sysMenuQuery);
	
	/**
	 * 查出全部菜单
	 * @return
	 */
	public List<SysMenuVo> getAll();
}
